package com.davidniu.lesson02.utils;

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class JdbcUtils {
    private static String driver = null;
    private static String url = null;
    private static String username = null;
    private static String password = null;

    static {
        try {
            InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties");
            Properties properties = new Properties();
            properties.load(in);
            driver = properties.getProperty("driver");
            url = properties.getProperty("url");
            username = properties.getProperty("username");
            password = properties.getProperty("password");
            //1.驱动只用加载一次
            Class.forName(driver);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    //获取连接
    public static Connection getConnection() throws  SQLException {
        return DriverManager.getConnection(url, username, password);
    }
    //释放连接资源
    public static void release (Connection conn, Statement stmt, ResultSet rs) {
        try{
            if(rs != null){  rs.close();}
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        try{
            if(stmt != null){  stmt.close();}
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        try{
            if(conn != null){  conn.close();}
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}
